/**
 * 项目名称:使用Lambda表达式或匿名内部类遍历集合Collection和Map
 *
 * @Author: 夏国倩
 * @Date: 2023/9/25 14:41
 * @Copyright
 */
package inner.jh;

import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.Consumer;

public class LambdaTest {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("aa");
        set.add("bb");
        set.add("cc");
        System.out.println("使用匿名内部类遍历容器Set");
        set.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
        System.out.println("使用Lambda表达式遍历容器set");
        set.forEach(t->{
            System.out.println(t);
        });
        System.out.println("--------------测试List");
        List<String> list=new ArrayList<>();
        list.add("aa");
        list.add("bb");
        list.add("cc");
        System.out.println("使用匿名内部类遍历容器List");
        list.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
        System.out.println("使用Lambda表达式遍历容器List");
        list.forEach(t->{
            System.out.println(t);
        });
        System.out.println("使用Lambda表达式遍历容器List");
        list.forEach(t-> System.out.println(t));

        System.out.println("-------------测试Map");
        Map<String,Integer> map=new HashMap<>();
        map.put("aaa",1);
        map.put("bbb",2);
        map.put("ccc",3);
        map.put("ddd",4);
        System.out.println("匿名内部类实现遍历Map");
        map.forEach(new BiConsumer<String, Integer>() {
            @Override
            public void accept(String key, Integer value) {
                System.out.println(key+"------------------"+value);
            }
        });
        System.out.println("使用lambda表达式实现遍历Map");
        map.forEach((key,value)->{
            System.out.println(key+"-------------------"+value);
        });
    }
}
